<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>コマンドラインからgrep処理について | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀一般トップへ</a>
        <li><div class="list-title">
    <span class="no">7466</span>
    <a class="thread-title" href="7466.html#7466">コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">7468</span>
    <a class="thread-title" href="7466.html#7468">Re:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">7749</span>
    <a class="thread-title" href="7466.html#7749">Re2:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">7750</span>
    <a class="thread-title" href="7466.html#7750">Re3:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">7768</span>
    <a class="thread-title" href="7466.html#7768">Re4:コマンドラインからgrep処理について</a></div>
    </li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">8027</span>
    <a class="thread-title" href="7466.html#8027">Re:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8028</span>
    <a class="thread-title" href="7466.html#8028">Re2:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8029</span>
    <a class="thread-title" href="7466.html#8029">Re3:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8030</span>
    <a class="thread-title" href="7466.html#8030">Re4:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8031</span>
    <a class="thread-title" href="7466.html#8031">Re5:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8032</span>
    <a class="thread-title" href="7466.html#8032">Re6:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8033</span>
    <a class="thread-title" href="7466.html#8033">Re7:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8034</span>
    <a class="thread-title" href="7466.html#8034">Re8:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8035</span>
    <a class="thread-title" href="7466.html#8035">Re9:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8036</span>
    <a class="thread-title" href="7466.html#8036">Re10:コマンドラインからgrep処理について</a></div>
    <ul><li><div class="list-title">
    <span class="no">8037</span>
    <a class="thread-title" href="7466.html#8037">Re11:コマンドラインからgrep処理について</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li>
    </ul><ul class="main"><li><section><h1 id=7466>
    <span class="no">[7466]</span>
    <a class="thread-title" href="#7466">コマンドラインからgrep処理について</a>
    <span class="author">あきら</span>
    <time datetime="2011-11-17T10:05:10">2011年11月17日 10:05</time></h1>
    <div class="body">サクラエディタで次ぎの流れで作業することは可能でしょうか？<br><br>コマンドラインからgrep処理を起動し、GUIを表示しない<br> ↓<br>grep処理の結果をパイプラインに渡す<br> ↓<br>サクラエディタプロセスを終了する。<br><br>つまりGnu Grepのように使いたい。</div></section>
    <ul><li><section><h1 id=7468>
    <span class="no">[7468]</span>
    <a class="thread-title" href="#7468">Re:コマンドラインからgrep処理について</a>
    <span class="author">syat</span>
    <time datetime="2011-11-18T06:55:19">2011年11月18日 06:55</time></h1>
    <div class="body">▼ あきらさん<br>サクラエディタだとGUIは表示されますし、結果をパイプラインに渡すのもできないと思います。<br>Windowsには findstr というGrep風コマンドがあるのでそちらを調べたほうが良いかと…<br><br>人の手をはさんでよいなら以下のようにします。<br>コマンドラインから-GREPMODEなどのオプションでGrep起動<br>　↓<br>Grep結果を"手動で"テキストファイルに保存<br>　↓<br>サクラエディタを"手動で"終了<br>　↓<br>コマンドラインから type コマンドで保存したテキストを表示<br><br></div></section>
    <ul><li><section><h1 id=7749>
    <span class="no">[7749]</span>
    <a class="thread-title" href="#7749">Re2:コマンドラインからgrep処理について</a>
    <span class="author">すなっくぱん</span>
    <time datetime="2014-01-06T14:10:55">2014年01月06日 14:10</time></h1>
    <div class="body">自分も結局手動で保存しているのですが、最近Ver2.0.5.0から2.1にしたところ、<br>デフォルトでの保存先がカレントではなくなってしまいました。<br>コマンドで保存先をカレントに指定してからGREPMODEで起動し即保存とやっていたので少し困っています。<br><br>どうやら下記修正の影響のようですので、<br>（Grep終了後Grep画面のフォルダを検索したフォルダに変更する(svn:2473 upatchid:269 Uchi) ）<br>Grep時のデフォルト保存先をカレントにするコマンドラインオプションを追加したりはできないでしょうか。<br><br>findstrでは文字コード混在しているので化け化けになってしまいますし<br>エディタとして編集してから保存できるのはとても便利です。<br>尤もコマンドラインで直接ファイルに保存まで持っていければそれに越したことはないのですが…。</div></section>
    <ul><li><section><h1 id=7750>
    <span class="no">[7750]</span>
    <a class="thread-title" href="#7750">Re3:コマンドラインからgrep処理について</a>
    <span class="author">もか</span>
    <time datetime="2014-01-07T18:47:19">2014年01月07日 18:47</time></h1>
    <div class="body">オプションを追加してみました。<br><a href=https://sourceforge.net/p/sakura-editor/patchunicode/742/ target=_top><nobr>https://<wbr>sourcefo<wbr>rge.<wbr>net/<wbr>p/<wbr>sakura-<wbr>editor/<wbr>patchuni<wbr>code/<wbr>742/<wbr></nobr></a><br></div></section>
    <ul><li><section><h1 id=7768>
    <span class="no">[7768]</span>
    <a class="thread-title" href="#7768">Re4:コマンドラインからgrep処理について</a>
    <span class="author">すなっくぱん</span>
    <time datetime="2014-01-28T19:05:15">2014年01月28日 19:05</time></h1>
    <div class="body">オプション追加、2.1.1.0で確認できました。<br>ありがとうございました。</div></section>
    </li></ul></li></ul></li></ul></li><li><section><h1 id=8027>
    <span class="no">[8027]</span>
    <a class="thread-title" href="#8027">Re:コマンドラインからgrep処理について</a>
    <span class="author">すなっくぱん</span>
    <time datetime="2015-04-22T15:56:24">2015年04月22日 15:56</time></h1>
    <div class="body">Ver2.2.0.0にて実装して頂きとても感謝しています。<br><br>ただ、batとして組んで直接実行したものは正しく動くのですが、<br>タスクスケジューラに一日一回実行として時間指定登録したものが上手く動きません。<br>タスクを右クリック→実行した場合には正しく動作します。<br><br>プロセスを監視していると、<br>タスクスケジューラから呼ばれたcmdから呼ばれたプロセスとして<br>sakura.exeは起動している為、タスク設定とバッチ自体には問題はなさそうです。<br>正常なら数秒で終了するはずのsakuraがずっと残りっぱなしになっており、<br>リダイレクト先のtxtはロックがされているもののGrepヘッダなども何も出力されず真っ白となります。<br><br>電源オプションの「次の時間が経過後ハードディスクの電源を切る」が<br>影響しているのではと思い、この設定を無効にして試しましたが、<br>一日目は成功したものの二日目は以前同様失敗しました。<br><br>現在は「タスクトレイに常駐する」を設定していたことが影響していると想定し、<br>この設定を解除した状態をテストしようとしています。<br><br>イベントログとして、ID1530が出力されていますがタスク実行時間とずれており、関係があるか不明です。<br><a href=http://blogs.technet.com/b/sharepoint_support/archive/2012/12/17/comexception-0x800703fa.aspx target=_top><nobr>http://<wbr>blogs.<wbr>technet.<wbr>com/<wbr>b/<wbr>sharepoi<wbr>nt_suppo<wbr>rt/<wbr>archive/<wbr>2012/<wbr>12/<wbr>17/<wbr>comexcep<wbr>tion-<wbr>0x800703<wbr>fa.<wbr>aspx</nobr></a><br><br>環境はWin7 SP1 32bit Sakura Ver2.2.0.1です。</div></section>
    <ul><li><section><h1 id=8028>
    <span class="no">[8028]</span>
    <a class="thread-title" href="#8028">Re2:コマンドラインからgrep処理について</a>
    <span class="author">syat</span>
    <time datetime="2015-04-25T13:52:30">2015年04月25日 13:52</time></h1>
    <div class="body">▼ すなっくぱんさん<br><br>自分のところでタスクスケジューラを5分間隔で実行したところうまく動いたのでタスクスケジューラの問題ではないと思います。<br>タスクトレイ常駐はオンにしています。<br><br>失敗するときにパソコンがロック中とかスタンバイ状態とか発生条件がないでしょうか？<br><br></div></section>
    <ul><li><section><h1 id=8029>
    <span class="no">[8029]</span>
    <a class="thread-title" href="#8029">Re3:コマンドラインからgrep処理について</a>
    <span class="author">すなっくぱん</span>
    <time datetime="2015-04-27T11:53:27">2015年04月27日 11:53</time></h1>
    <div class="body">▼ syatさん<br>確認ありがとうございます。<br><br>動作時状況はログオフ中ですが、スリープ・スタンバイ・休止等はしておりません。電源オプションの時間設定も切ってあります。<br>タスクとしては管理者アカウントを設定し、ログオンしているかに関わらず実行にしています。<br>また、Grep実行前に同バッチ内で別ファイルへのECHOリダイレクト書き出し等はできているため、タスクの実行は正常です。<br>同一設定で成功と失敗の事例がある為、その際の条件の差異は前日起動したSakura-NOWINが起動しているかどうかくらいしか思い当りませんでした。<br><br>タスクトレイ常駐設定を解除してからは正常に動作しています。<br><br>バッチ内でのGrep実行コマンド<br>"サクラエディタパス" -GREPMODE -GKEY="検索文" -GFILE="*" -GFOLDER="検索フォルダ" -GCODE=99 -GOPT=PR2XU &gt;"出力ファイル"<br>停止状況<br>出力先テキストは真っ白でファイルロックされている。</div></section>
    <ul><li><section><h1 id=8030>
    <span class="no">[8030]</span>
    <a class="thread-title" href="#8030">Re4:コマンドラインからgrep処理について</a>
    <span class="author">すなっくぱん</span>
    <time datetime="2015-05-08T09:47:22">2015年05月08日 09:47</time></h1>
    <div class="body">タスクトレイ常駐設定を解除した状態でも処理が停止しました。<br><br>バッチ内では以下のコマンドを検索文と出力ファイルを変えて複数回実行しているのですが<br>今回は一つ目は正常に実行されましたが二つ目が停止しました。<br>&gt; "サクラエディタパス" -GREPMODE -GKEY="検索文" -GFILE="*" -GFOLDER="検索フォルダ" -GCODE=99 -GOPT=PR2XU &gt;"出力ファイル"<br><br>つまり、バッチ、タスクスケジューラには問題がなく、<br>サクラエディタが何かしらの要因で停止しているようです。<br>ただ、たとえばエラーダイアログが出ているとしてもログオフ時実行なので確認できません。<br><br>停止していたプロセスの状態としては<br>svchost.exe-taskeng.exe-cmd.exe-sakura.exeで<br>sakura.exeはCPUを0.02%のまま変動せず、メモリは2.6M使用していました。<br>このsakura.exeをKILLしたところ、後続のGrep処理は正常に動作しました。<br>正常動作の際は、プロセスツリーが<br>svchost.exe-taskeng.exe-cmd.exe-sakura.exe-sakura.exe<br>というように起動していました。（sakura一つ目はGrepコマンド、二つ目はNOWINのようでした。すぐに処理が終わってしまうのであまり確認できませんでしたが）<br>このことから、NOWINのプロセスを起動する際に何かしら問題があるのかと思います。</div></section>
    <ul><li><section><h1 id=8031>
    <span class="no">[8031]</span>
    <a class="thread-title" href="#8031">Re5:コマンドラインからgrep処理について</a>
    <span class="author">anonymous</span>
    <time datetime="2015-05-08T21:11:09">2015年05月08日 21:11</time></h1>
    <div class="body">ログオフ時実行だとそれ以上プロセスを生成させてもらえない。<br><br>最初のプロセスがコントロールプロセスを生成しようとする<br>↓<br>最初のプロセスがコントロールプロセスの失敗を検出する<br>↓<br>エラー表示（ポップアップ）する<br>↓<br>見えないポップアップでロック状態になる<br></div></section>
    <ul><li><section><h1 id=8032>
    <span class="no">[8032]</span>
    <a class="thread-title" href="#8032">Re6:コマンドラインからgrep処理について</a>
    <span class="author">すなっくぱん</span>
    <time datetime="2015-05-12T14:55:08">2015年05月12日 14:55</time></h1>
    <div class="body">▼ anonymousさん<br>情報ありがとうございます。<br><br>&gt; ログオフ時実行だとそれ以上プロセスを生成させてもらえない。<br>というのはWindowsの仕様としてタスクスケジューラでの<br>ログオフ時実行ではプロセスの生成ができないということでしょうか。<br>自分でも調べてみましたがそういった情報は見つけられなかったのですが<br>可能でしたらURL等ご教示願えないでしょうか。<br><br>&gt; 最初のプロセスがコントロールプロセスを生成しようとする<br>以降の部分はサクラエディタがそういう動きをするということですね。<br>プロセス生成の失敗が原因という事なのでそれを回避する方法を検討します。</div></section>
    <ul><li><section><h1 id=8033>
    <span class="no">[8033]</span>
    <a class="thread-title" href="#8033">Re7:コマンドラインからgrep処理について</a>
    <span class="author">anonymous</span>
    <time datetime="2015-05-12T20:26:09">2015年05月12日 20:26</time></h1>
    <div class="body">先の返信は１だと思って答えたのですが、ログオフ時っていうのは<br>１．ログオフするタイミングですか<br>２．ユーザが誰もログオンしていない状態ですか<br><br>１は経験的にタイミングによってできません。<br>２はセッションがないのでサクラが画面表示できずまともに動かないのではないでしょうか。<br><br></div></section>
    <ul><li><section><h1 id=8034>
    <span class="no">[8034]</span>
    <a class="thread-title" href="#8034">Re8:コマンドラインからgrep処理について</a>
    <span class="author">anonymous</span>
    <time datetime="2015-05-12T20:45:06">2015年05月12日 20:45</time></h1>
    <div class="body">セッションの話で思いついたのですが、<br>サクラエディタはコントロールプロセスの制御のためにセマフォ等を使ってます。<br>セッションがない場合にこのセマフォの範囲ってどうなるんでしたっけ。<br>詳しい方よろしくお願いします<br><br>個人的には、別のツール使うか、サクラエディタのGREP部分を切り出して専用のexe作ったほうが確実だと思います。<br><br></div></section>
    <ul><li><section><h1 id=8035>
    <span class="no">[8035]</span>
    <a class="thread-title" href="#8035">Re9:コマンドラインからgrep処理について</a>
    <span class="author">すなっくぱん</span>
    <time datetime="2015-05-13T10:22:06">2015年05月13日 10:22</time></h1>
    <div class="body">▼ anonymousさん<br>ログオフ時というのは2の方のことです。<br>タスクスケジューラに管理者アカウントで「ユーザーがログオンしているかどうかにかかわらず実行する」を設定したタスクを作成し、早朝のだれもログオンしていない時間帯に実行しています。<br>設定してから現在までのところ、9割がたは問題なく動いていますので「まともに動かない」という事はないと思いますが、稀に先の報告の状態で処理が停止していることがあります。<br><br>確かに本来は別の物を使うべきなのでしょうがGrep元が複数文字コード混在やGrep後にマクロで編集もしていたり宗教的な理由（）で新規ソフトの導入が難しい等の事情もあって現時点ではサクラでバッチ処理しています。</div></section>
    <ul><li><section><h1 id=8036>
    <span class="no">[8036]</span>
    <a class="thread-title" href="#8036">Re10:コマンドラインからgrep処理について</a>
    <span class="author">匿名</span>
    <time datetime="2015-05-13T22:36:38">2015年05月13日 22:36</time></h1>
    <div class="body">sakuraが起動しっぱなしになるのが「必ず」ではなく「まれ」なのであれば、<br><a href=http://sakura.qp.land.to/?BugReport%2F107 target=_top><nobr>http://<wbr>sakura.<wbr>qp.<wbr>land.<wbr>to/?<wbr>BugRepor<wbr>t%<wbr>2F107</nobr></a><br>ハズレかもしれないけれど、これの可能性はないでしょうか？<br>batからGrepの実行を連続で行っていて<br>スタートアップを常駐しないにすると問題が発生すると思います。<br>実際batで、Grep標準出力モードを連続して実行すると、<br>「エディタ間の対話に失敗しました」のエラーがたまにでます。<br>対策は、Grepの連続実行の間に数秒程度待つようにすればいいと思います。<br>待つのはbatからcscript sleep.js<br>//sleep.js<br>WScript.Sleep(3000);<br></div></section>
    <ul><li><section><h1 id=8037>
    <span class="no">[8037]</span>
    <a class="thread-title" href="#8037">Re11:コマンドラインからgrep処理について</a>
    <span class="author">すなっくぱん</span>
    <time datetime="2015-05-15T10:53:13">2015年05月15日 10:53</time></h1>
    <div class="body">▼ 匿名さん<br>情報ありがとうございます。<br>[8027]以前は常駐していて停止頻度が高かったので別原因だったとも思いますが<br>現在は常駐をやめているため、停止頻度は下がっていますが、そちらの報告が原因になっている可能性はありますね。<br>一応Grep後にfile open errorのチェック等もしていて、そこまで高速で連続という事はないですが念のためGrep実行前に数秒待たせてみようと思います。<br>ちなみにVista以降ならtimeout（.exe）というものが標準であります。</div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></body></html>